package com.matt.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * *******************************
 * Created by Ron.
 * form com.matt
 * on 2017/7/13
 * *******************************
 */
@Data
public class Children implements Serializable {


    private String id;
    private String name;
//    protected String areaId;
    @ApiModelProperty("托班有效期")
    
    private Date nursyValidTo;
    
    private Integer courseNum;

    //续费够课表iD
    
    private String childMemberId;

    



    private List<ParentUser> linkMans;
    /**
     * 上一条续费记录剩余早教课时或者剩余入托天数
     */
    private Integer lastZaoNum;
    private Integer lastTuoNum;
    /**
     * 上一条续费记录的产品包id
     */
    private String lastProductId;

    /**
     * 合同开始时间
     */
    @ApiModelProperty(value = "合同开始时间", example = "2025-03-18", dataType = "java.util.Date")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    
    private Date contractStartTime;

    /**
     * 合同结束时间
     */
    @ApiModelProperty(value = "合同结束时间", example = "2025-03-18", dataType = "java.util.Date")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    
    private Date contractEndTime;;
    /**
     * 课程包名称
     */
    
    private String productName;

    
    private String beginAt;
    
    private String endAt;
    //家长姓名
    
    private String userName;
    //1早教，2入托
    
    private Integer nuOrEdu;
    
    private Integer category;


    //距离生日天数
    
    private String daysUntilBirthday;
    //应出勤天数
    private Integer workNum;
    //实际出勤天数
    private Integer actualNum;
    //请假天数
    private Integer leaveNum;
    //入托剩余天数
    private Integer tuoRemainingNum;
    //早教剩余天数
    private Integer zaoRemainingNum;
    //给前端实际天数
    
    private Integer tuoNum;
    //给前端实际天数
    
    private Integer zaoNum;

    //休息天数
    
    private Integer restNum;
    //早退天数
    
    private Integer earlyNum;

    //班级id
    
    private String classId;

    //班级名称
    
    private String className;

    //联系电话
    
    private String mobile;

    //推送状态
    private Integer pushStatus;
    private String code;

    private String enName;

    private String nationality;

    private String language;

    private String bloodType;

    private int idCardType;

    private String idCard;

    private String nickName="";

    private String childBigName;

    private String childNickName;
    private Integer childAge;
    
    private String age;
    private Integer gender;

//    
//    private String searchValue;
//    
//    private String createBy;
//    
//    private Date createTime;
//    
//    private Date updateTime;
//    /** 更新者 */
//    
//    private String updateBy;f
//    
//    private String params;


//    protected String areaId;

    private String address = "";

    private Date birthday;

    private String weight;

    private String height;

    private String header;

    private String remark = "";

    private String imgUrl;

//    @Column(columnDefinition = " bigint default 0 COMMENT '焦虑期'")
//    private Long anxietyTime = 0L;
//
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date created;

    private Date courseStartDate;

    @ApiModelProperty( "'托班是否可用， 0:未生效, 1:正常，2 合同结束, 3:已退学，4:已毕学 '")
    private Integer status;

    private String staffId;

    private String crmClienteleId;

//    @Column(columnDefinition = "bit default false COMMENT '是否展示'")
//    private Boolean isDisplayForAdmin = false;

    private String nurseryTransferReason;

    private String earlyTransferReason;
    
    private BigDecimal backMoney;

    private Date lastEvaluateDate;

    private Date nextEvaluateDate;

    private String allergy = "";

    private String diseasesHistory = "";

    private String statusRemark = "";

    private String place = "";

    @ApiModelProperty("优惠卷码")
    private String couponCard;


    @ApiModelProperty("优惠卷码使用时间")
    private Date useTime;


    private Integer month;

    /**
     * 当前页
     */
    @ApiModelProperty(value = "分页页码", example = "1", notes = "用于分页查询时指定当前页码")
    
    private Integer pageNum;

    /**
     * 每页大小
     */
    @ApiModelProperty(value = "分页大小", example = "10", notes = "用于分页查询时指定每页显示数量")
    
    private Integer pageSize ;

    /**
     * 园区id
     */
    @ApiModelProperty(value = "园区id")
    private String aid;

    /**
     * 园区名称
     */
    @ApiModelProperty(value = "园区名称")
    
    private String areaName;


    /**
     * 区域
     */
    @ApiModelProperty(value = "区域")
    
    private String district;

    /**
     *  时间段查询条件
     */
    
    @ApiModelProperty(value = "时间段查询条件（数组）")
    private List<String> createTimeQuery;

//    public Children(String childrenName, String nickName, Integer gender, Date birthday, String weight, String height, String header, String address){
//        this.setName(childrenName);
//        this.setNickName(nickName);
//        this.setGender(gender);
//        this.setAddress(address);
//        this.setStatus(ChildrenConstant.ChildrenStatus.ACTIVE.codeOf());
//        this.setBirthday(birthday);
//        this.setHeight(height);
//        this.setWeight(weight);
//        this.setHeader(header);
//    }
//
}
